1. Field of the Invention
Embodiments of the present invention generally relate to techniques for disaster recovery and, more particularly, to a method and apparatus for achieving high application availability.
2. Description of the Related Art
A computing environment may include a computer cluster (e.g., a plurality of servers) that hosts critical software applications. Administrators of the computing environment desire the continuous and uninterrupted operation of such critical software applications. A fault could result in a considerable loss of performance, time and/or resources. Hence, the computing environment employs a disaster recovery technique to prevent such losses and/or achieve high availability. The disaster recovery technique ensures that all the mission critical applications run uninterruptedly at all times. When an application fault occurs, the application is failed over from one server to another server in the computer cluster. Furthermore, when the entire computer cluster is down, the application is recovered at a disaster recovery site.
Current disaster recovery techniques require that a physical computing environment at the disaster recovery site be similar to the physical computing environment at the primary site. In other words, a number of physical machines are required to be operational at the disaster recovery site in order to take over for the primary site during a failure. As a result, such an infrastructure costs a significant amount of money. Furthermore, the number of physical machines at the disaster recovery site needs to be powered on at all times.
Clustering software (e.g., VERITAS Cluster Server (VCS)) may run in a virtual machine and be ready for disaster recovery. However, the virtual machine needs to be up all the time to be ready to take-over in case of disaster. As a number of software applications and/or a number of computer clusters in the physical (production) environment increases, a number of virtual machines that are required to be ready for disaster recovery also increases. The clustering software operating within each virtual machine may establish a heartbeat within the same computer cluster even though the virtual machines residing on a same, physical server. Overall, such a disaster recovery technique increases memory and network bandwidth usage.
In addition, virtualization technologies may be utilized to reduce the number of physical machines required at the disaster recovery site. However, such virtualization technologies require a physical to virtual conversion of one or more physical machines of the physical computing environment into virtual machine files for one or more virtual machines, which consumes a significant amount of resources (e.g., network bandwidth, processing time and the like). Furthermore, the current disaster recovery techniques may need to update the virtual machine files at the disaster recovery site with current data.
Accordingly, there is a need in the art for method and apparatus for achieving high availability for an application in a computer cluster using virtualization without the need for a physical to virtual conversion. Furthermore, such a method and apparatus reduces the consumption of various computer resources, such as network bandwidth and computer memory.